<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>LTE-UNB: RadioChannel/RadioChannel.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">LTE-UNB
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">RadioChannel/RadioChannel.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_radio_channel_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef _RadioChannel_h_</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define _RadioChannel_h_</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="_physical_node_8h.html">PhysicalNode.h</a>&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;<a class="code" href="_large_scale_fading_8h.html">LargeScaleFading.h</a>&quot;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="_small_scale_fading_8h.html">SmallScaleFading.h</a>&quot;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;<a class="code" href="_simulation_environment_8h.html">SimulationEnvironment.h</a>&quot;</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="keyword">using namespace </span>itpp;
<a name="l00029"></a>00029 <span class="keyword">using namespace </span>std;
<a name="l00030"></a>00030 
<a name="l00035"></a>00035 <span class="keyword">namespace </span>RadioChannel
<a name="l00036"></a>00036 {
<a name="l00037"></a>00037 
<a name="l00042"></a><a class="code" href="class_radio_channel_1_1_radio_channel.html">00042</a> <span class="keyword">class </span><a class="code" href="class_radio_channel_1_1_radio_channel.html">RadioChannel</a>
<a name="l00043"></a>00043 {
<a name="l00044"></a>00044    <span class="keyword">public</span>:
<a name="l00045"></a>00045            
<a name="l00050"></a>00050       ~<a class="code" href="class_radio_channel_1_1_radio_channel.html">RadioChannel</a>();
<a name="l00051"></a>00051       
<a name="l00056"></a>00056       <span class="keyword">static</span> <a class="code" href="class_radio_channel_1_1_radio_channel.html">RadioChannel</a>* getInstance();
<a name="l00057"></a>00057       
<a name="l00062"></a>00062       <span class="keywordtype">void</span> setParameters();
<a name="l00063"></a>00063       
<a name="l00068"></a>00068       <span class="keywordtype">void</span> initialize();
<a name="l00069"></a>00069       
<a name="l00074"></a>00074       <span class="keywordtype">void</span> clear();
<a name="l00075"></a>00075       
<a name="l00080"></a>00080       <span class="keywordtype">void</span> generateLargeScaleFading();
<a name="l00081"></a>00081       
<a name="l00086"></a>00086       <span class="keywordtype">void</span> generateSmallScaleFading();
<a name="l00087"></a>00087       
<a name="l00092"></a>00092       <span class="keywordtype">void</span> generateSmallScaleFadingIndexes();
<a name="l00093"></a>00093       
<a name="l00097"></a>00097       <span class="keywordtype">double</span> getLargeScaleFading( <a class="code" href="class_physical_node_1_1_physical_node.html">PhysicalNode::PhysicalNode</a>* user,
<a name="l00098"></a>00098                                   <a class="code" href="class_physical_node_1_1_physical_node.html">PhysicalNode::PhysicalNode</a>* eNodeB );
<a name="l00099"></a>00099       
<a name="l00104"></a>00104       <span class="keywordtype">double</span> getLargeScaleFading_dB( <a class="code" href="class_physical_node_1_1_physical_node.html">PhysicalNode::PhysicalNode</a>* user,
<a name="l00105"></a>00105                                      <a class="code" href="class_physical_node_1_1_physical_node.html">PhysicalNode::PhysicalNode</a>* eNodeB );
<a name="l00106"></a>00106       
<a name="l00111"></a>00111       <span class="keywordtype">double</span> getLargeScaleFading( <span class="keywordtype">int</span> userId,
<a name="l00112"></a>00112                                   <span class="keywordtype">int</span> eNodeBId );
<a name="l00113"></a>00113       
<a name="l00118"></a>00118       <span class="keywordtype">double</span> getLargeScaleFading_dB( <span class="keywordtype">int</span> userId,
<a name="l00119"></a>00119                                      <span class="keywordtype">int</span> eNodeBId);
<a name="l00120"></a>00120       
<a name="l00124"></a>00124       <span class="keywordtype">double</span> getFading( <a class="code" href="class_physical_node_1_1_physical_node.html">PhysicalNode::PhysicalNode</a>* user,
<a name="l00125"></a>00125                         <a class="code" href="class_physical_node_1_1_physical_node.html">PhysicalNode::PhysicalNode</a>* eNodeB,
<a name="l00126"></a>00126                         <span class="keywordtype">double</span> time,
<a name="l00127"></a>00127                         <span class="keywordtype">double</span> frequency,
<a name="l00128"></a>00128                         <span class="keywordtype">int</span> antenna );
<a name="l00129"></a>00129       
<a name="l00134"></a>00134       <span class="keywordtype">double</span> getFading( <span class="keywordtype">int</span> userId,
<a name="l00135"></a>00135                         <span class="keywordtype">int</span> eNodeBId,
<a name="l00136"></a>00136                         <span class="keywordtype">double</span> time,
<a name="l00137"></a>00137                         <span class="keywordtype">double</span> frequency,
<a name="l00138"></a>00138                         <span class="keywordtype">int</span> antenna );
<a name="l00139"></a>00139       
<a name="l00144"></a>00144       <span class="keywordtype">double</span> getTimeStep();
<a name="l00145"></a>00145       
<a name="l00146"></a>00146    <span class="keyword">private</span>:
<a name="l00147"></a>00147       
<a name="l00152"></a>00152       <a class="code" href="class_radio_channel_1_1_radio_channel.html">RadioChannel</a>();
<a name="l00153"></a>00153       
<a name="l00158"></a>00158       <span class="keyword">static</span> <a class="code" href="class_radio_channel_1_1_radio_channel.html">RadioChannel</a>* instance_;
<a name="l00159"></a>00159       
<a name="l00164"></a>00164       <span class="keywordtype">int</span> numberUsers_;
<a name="l00165"></a>00165       
<a name="l00170"></a>00170       <span class="keywordtype">int</span> numberENodeBs_;
<a name="l00171"></a>00171       
<a name="l00176"></a>00176       <span class="keywordtype">int</span> numberTransmitAntennas_;
<a name="l00177"></a>00177       
<a name="l00182"></a>00182       <span class="keywordtype">bool</span> shouldReadFile_;
<a name="l00183"></a>00183       
<a name="l00188"></a>00188       <span class="keywordtype">char</span>* fileName_;
<a name="l00189"></a>00189       
<a name="l00194"></a>00194       <span class="keywordtype">double</span> timeStep_;
<a name="l00195"></a>00195       
<a name="l00200"></a>00200       <span class="keywordtype">double</span> frequencyStep_;
<a name="l00201"></a>00201       
<a name="l00206"></a>00206       <a class="code" href="class_radio_channel_1_1_large_scale_fading.html">LargeScaleFading</a> largeScaleFading_;
<a name="l00207"></a>00207       
<a name="l00212"></a>00212       <a class="code" href="class_radio_channel_1_1_small_scale_fading.html">SmallScaleFading</a> smallScaleFading_;
<a name="l00213"></a>00213       
<a name="l00218"></a>00218       mat largeScaleMatrix_;
<a name="l00219"></a>00219       
<a name="l00224"></a>00224       Array&lt;vec&gt; smallScaleArray_;
<a name="l00225"></a>00225       
<a name="l00230"></a>00230       <span class="keywordtype">int</span>*** usersSmallScaleMatrixIndex_;
<a name="l00231"></a>00231       
<a name="l00236"></a>00236       <a class="code" href="class_simulation_environment_1_1_simulation_environment.html">SimulationEnvironment::SimulationEnvironment</a>* simulationEnvironment_;
<a name="l00237"></a>00237       
<a name="l00238"></a>00238       
<a name="l00239"></a>00239       
<a name="l00240"></a>00240       
<a name="l00241"></a>00241 };
<a name="l00242"></a>00242 
<a name="l00243"></a>00243 };
<a name="l00244"></a>00244 
<a name="l00245"></a>00245 <span class="keyword">inline</span>
<a name="l00246"></a>00246 <span class="keywordtype">double</span>
<a name="l00247"></a>00247 <a class="code" href="class_radio_channel_1_1_radio_channel.html#afb1ac925fd356ff7a8431ecf377f21df">RadioChannel::</a>
<a name="l00248"></a><a class="code" href="class_radio_channel_1_1_radio_channel.html#afb1ac925fd356ff7a8431ecf377f21df">00248</a> <a class="code" href="class_radio_channel_1_1_radio_channel.html#afb1ac925fd356ff7a8431ecf377f21df">RadioChannel::getTimeStep</a>()
<a name="l00249"></a>00249 {
<a name="l00250"></a>00250    <span class="keywordflow">return</span> timeStep_;
<a name="l00251"></a>00251 };
<a name="l00252"></a>00252 
<a name="l00253"></a>00253 <span class="comment">// -----------------------------------------------------------------------------</span>
<a name="l00254"></a>00254 
<a name="l00255"></a>00255 <span class="preprocessor">#endif</span>
<a name="l00256"></a>00256 <span class="preprocessor"></span>
</pre></div></div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Friends</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 25 2012 22:25:34 for LTE-UNB by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
